package etm.negocio;

import java.sql.SQLException;
import java.util.Collection;

import upc.condominio.modelo.Cuota;
import upc.condominio.modelo.CuotaConcepto;
import upc.condominio.modelo.Mensaje;
import etm.dao.MensajeDAO;
import etm.dao.RegistroCuotasDAO;
import etm.excepcion.DAOExcepcion;

public class GestionRegCuotas {
	
	public Collection<Cuota> listarxPeriodo(int idUbicacion, String periodo) throws DAOExcepcion {
		RegistroCuotasDAO dao = new RegistroCuotasDAO();
		return dao.listarxPeriodo(idUbicacion, periodo);
	}
	public Collection<Cuota> listarxPeriodoResidente(int idResidente,int idUbicacion, String periodo) throws DAOExcepcion {
		RegistroCuotasDAO dao = new RegistroCuotasDAO();
		return dao.listarxPeriodoResidente(idResidente,idUbicacion, periodo);
	}
	public Cuota listarConceptosxResidente(int idCuota) throws DAOExcepcion {
		RegistroCuotasDAO dao = new RegistroCuotasDAO();
		return dao.listarConceptosxResidente(idCuota);
	}
	
	public Cuota obtener(int idCuota) throws DAOExcepcion {
		RegistroCuotasDAO dao = new RegistroCuotasDAO();
		return dao.obtener(idCuota);
	}
	
	public Cuota actualizarSaldo(int idCuota, double importe, int operacion) throws DAOExcepcion{
		RegistroCuotasDAO dao = new RegistroCuotasDAO();
		return dao.actualizarSaldo(idCuota, importe, operacion);
	}
	public void grabarCuota(Cuota cuota) throws DAOExcepcion {
		RegistroCuotasDAO dao = new RegistroCuotasDAO();
		Double total=0.0;
		for (CuotaConcepto c: cuota.getLstCuotaConceptosNuevos()){
			total+=c.getImporte();			
		}
		cuota.setImporte(total);
		cuota.setSaldo(total);
		dao.grabarCuota(cuota);
	}
	public void grabaEliminaConcepto(Cuota cuota) throws DAOExcepcion {
		RegistroCuotasDAO dao = new RegistroCuotasDAO();
		dao.grabaEliminaConcepto(cuota);
		Double total=0.0;
		for (CuotaConcepto c: cuota.getLstCuotaConceptosNuevos()){
			if(c.getIdCuotaConcepto()==0){
				total+=c.getImporte();			
			}
		}
		try{
		dao.actualizarSaldo(cuota.getIdCuota(), total, 1);
		}catch(DAOExcepcion e){
			System.out.println("grabaEliminaConcepto Negocio " + e.getMessage());
		}
	}

}
